<HTML><HEAD><TITLE>EplexInstance: (?Vars $:: ++Lo..Hi)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(eplex)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>EplexInstance: (?Vars $:: ++Lo..Hi)</H1>
Constrains list elements to lie between the given bounds.
<DL>
<DT><EM>Vars</EM></DT>
<DD>Variable or number or a list of them
</DD>
<DT><EM>Lo..Hi</EM></DT>
<DD>Lo, Hi are numbers or arithmetic expressions
</DD>
</DL>
<H2>Description</H2>
	Constrain a variable (or all variables in a list) to take only
	values in a given range for the eplex instance EplexInstance. Any
	variables that are not already problem variables for EplexInstance
	will be added to the problem. The range information is passed to
	the external solver state associated with EplexInstance as
	floats. No type information are implied by the bounds.
	<P>
	In particular, if the bounds are given as integers, this
	information is <STRONG>not</STRONG> passed to the external solver.
	Unless eplex:integers/1 is invoked, any
	invocation of the eplex external solver (whether via eplex_solve/1,
	lp_solve/2, lp_demon_setup/5 or optimize/2) will only solve a
	continuous relaxation, even when problem variables have been
	declared as integers in other solvers (e.g. ic).
        <P>
        No propagation is done at the ECLiPSe level with the bounds. In
        particular, the variable is not instantiated even if the lower and
        upper bounds are identical. The bounds may be inconsistent with the
        bounds given for the variables in other EplexInstances or solvers
        (i.e. this will not result in immediate failure).
<H3>Exceptions</H3>
<DL>
<DT><EM>(5) type error </EM>
<DD>Lo..Hi is not in correct form
<DT><EM>(5) type error </EM>
<DD>Lo and Hi are of different numeric types
</DL>
<H2>See Also</H2>
<A HREF="../../lib/eplex/integers-1.html">integers / 1</A>, <A HREF="../../lib/eplex/reals-1.html">reals / 1</A>, <A HREF="../../lib/eplex/NN-2.html">:: / 2</A>, <A HREF="../../lib/suspend/HNN-2.html">suspend : #:: / 2</A>, <A HREF="../../lib/fd/HNN-2.html">fd : #:: / 2</A>, <A HREF="../../lib/ic/HNN-2.html">ic : #:: / 2</A>, <A HREF="../../lib/suspend/SNN-2.html">suspend : $:: / 2</A>, <A HREF="../../lib/ic/SNN-2.html">ic : $:: / 2</A>
</BODY></HTML>
